/*
 * User.h
 *
 *  Created on: Aug 3, 2011
 *      Author: sebastien
 */

#ifndef USER_H_
#define USER_H_
#include "Model.h"
typedef enum UserAction
{
	ACTION_NONE			= 0,
	ACTION_MOVE			= 1,
} UserAction;

class User {
public:
	User(xn::UserGenerator userGenerator, XnUserID user, BulletConfiguration *bulletConfiguration);
	virtual ~User();
    UserAction getAction() const;
    btCollisionObject *getSelection() const;
    CharacterSkeleton *getSkeleton() const;
    void setAction(UserAction action);
    void setSelection(btCollisionObject *selection);
    void unselect();
    void updateSkeleton();

protected:
    CharacterSkeleton *skeleton;
    btCollisionObject *selection;
    UserAction action;
    XnUserID id;
    xn::UserGenerator userGenerator;

};

#endif /* USER_H_ */
